package com.zkadmin.service;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.zkoss.zul.DefaultTreeModel;

import com.zkadmin.entity.SysMenu;

public interface SysMenuService extends SysBaseService<SysMenu> {
	public List<SysMenu> getRootMenus();

	public DefaultTreeModel<SysMenu> getMenuTreeModel(boolean isMenuTree);

	public DefaultTreeModel<SysMenu> getMenuTreeModel(boolean isMultiple, boolean isMenuTree);

	public Page<SysMenu> findGrouped(Pageable pageable);

	public void updateCode(SysMenu menu, String newCode);

	public void delete(Long id);

	public long getMaxMenuCode(SysMenu menu);

	public SysMenu findByName(String name);

	public SysMenu findByCode(String code);

	public List<SysMenu> findByCodeLike(String code);
}
